package com.ruoyi.cat.mapper;

import com.ruoyi.cat.domain.CatUserbasicTable;
import com.ruoyi.cat.domain.DTO.MyTeamDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户信息Mapper接口
 * 
 * @author ruoyi
 * @date 2024-12-24
 */
public interface CatUserbasicTableMapper 
{
    /**
     * 查询用户信息
     * 
     * @param id 用户信息主键
     * @return 用户信息
     */
    public CatUserbasicTable selectCatUserbasicTableById(Long id);

    /**
     * 查询用户信息列表
     * 
     * @param catUserbasicTable 用户信息
     * @return 用户信息集合
     */
    public List<CatUserbasicTable> selectCatUserbasicTableList(CatUserbasicTable catUserbasicTable);

    /**
     * 新增用户信息
     * 
     * @param catUserbasicTable 用户信息
     * @return 结果
     */
    public int insertCatUserbasicTable(CatUserbasicTable catUserbasicTable);

    /**
     * 修改用户信息
     * 
     * @param catUserbasicTable 用户信息
     * @return 结果
     */
    public int updateCatUserbasicTable(CatUserbasicTable catUserbasicTable);

    /**
     * 删除用户信息
     * 
     * @param id 用户信息主键
     * @return 结果
     */
    public int deleteCatUserbasicTableById(Long id);

    /**
     * 批量删除用户信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCatUserbasicTableByIds(Long[] ids);

    CatUserbasicTable selectCatUserbasicTableByOpenId(@Param("openId") String openId);


    CatUserbasicTable selectCatUserbasicTableByReferenceNum(@Param("referenceNum") String referenceNum );

    List<CatUserbasicTable>  countByReferenceId(@Param("referenceId") Long referenceId);


    int  countByReferenceId1(@Param("referenceId") Long referenceId);


    List<MyTeamDTO> getMyTeam(@Param("referenceId") Long referenceId);

    CatUserbasicTable getUnionId(@Param("unionid") String unionid);
}
